home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 21 / CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso / CUCD / Programming / Python-1.4 / Python1.4_Source / Modules / timingmodule.c < prev    next >
C/C++ Source or Header  |  1996-12-15  |  1KB  |  93 lines

  1. /*
  2.  * Author: George V. Neville-Neil
  3.  */
  4.  
  5. #include "allobjects.h"
  6. #include "import.h"
  7. #include "modsupport.h"
  8. #include "ceval.h"
  9.  
  10. /* Our stuff... */
  11. #include "timing.h"
  12. #include "protos/timingmodule_protos.h"
  13.  
  14. static object *
  15. start_timing(self, args)
  16.     object *self;
  17.     object *args;
  18. {
  19.     if (!getargs(args, ""))
  20.     return NULL;
  21.  
  22.     INCREF(None);
  23.     BEGINTIMING;
  24.     return None;
  25. }
  26.  
  27. static object *
  28. finish_timing(self, args)
  29.     object *self;
  30.     object *args;
  31. {
  32.     if (!getargs(args, ""))
  33.     return NULL;
  34.  
  35.     ENDTIMING    
  36.     INCREF(None);
  37.     return None;
  38. }
  39.  
  40. static object *
  41. seconds(self, args)
  42.     object *self;
  43.     object *args;
  44. {
  45.     if (!getargs(args, ""))
  46.     return NULL;
  47.  
  48.     return newintobject(TIMINGS);
  49.  
  50. }
  51.  
  52. static object *
  53. milli(self, args)
  54.     object *self;
  55.     object *args;
  56. {
  57.     if (!getargs(args, ""))
  58.     return NULL;
  59.  
  60.     return newintobject(TIMINGMS);
  61.  
  62. }
  63. static object *
  64. micro(self, args)
  65.     object *self;
  66.     object *args;
  67. {
  68.     if (!getargs(args, ""))
  69.     return NULL;
  70.  
  71.     return newintobject(TIMINGUS);
  72.  
  73. }
  74.  
  75.  
  76. static struct methodlist timing_methods[] = {
  77.    {"start", start_timing},
  78.    {"finish", finish_timing},
  79.    {"seconds", seconds},
  80.    {"milli", milli},
  81.    {"micro", micro},
  82.    {NULL, NULL}
  83. };
  84.  
  85.  
  86. void inittiming()
  87. {
  88.     object *m;
  89.  
  90.     m = initmodule("timing", timing_methods);
  91.    
  92. }
  93.